Android SDK与Android API

Android SDK与Android API
Flaw1.Android SDK
Android SDK是Android软件开发包(Software Development Kit),它提供了在Windows/Linux/MAC平台上开发Android应用的组件和各种工具集。工具集不仅包括了Android模拟器,还有用来调试、打包和在Android设备上安装应用的工具。
在Android SDK文件夹里,文件夹platforms是主体,它是各版本开发组件的集合,包括 android.jar、字体、res 资源、模板等内容。其中,android.jar 文件提供了用于开发Android应用程序的编程接口(API),如图所示。
除了platforms文件夹以外,SDK文件夹还包含以下子文件夹。
● add-ons:存放Android的扩展库,如用于地图开发的Google Maps。
● build-tools:包含各版本的SDK编译工具,如将.class字节码文件转换成Android字节码.dex文件的批处理程序dx.bat、生成Android设备进程间通信代码的应用程序aidl.exe等。
● extras:扩展开发包,如HAXM加速。
● platform-tools:包含各版本的SDK通用工具,如用于将Android手机连接到PC端的Android调试桥(Android Debug Bridge,ADB)程序adb.exe。又如数据库工具SQLite。
● system-images:AVD模拟器映像文件。
● sources:存放Android API的源码。
● tools:包含avdmanager.bat、sdkmanager.bat和emulator.exe等重要工具。
注意:
(1)只有下载Android扩展库后,才会生成文件夹add-ons。
(2)设置 Android 应用的图标时,可以使用系统自带的图标库,这些图标文件就位于文件夹sdk\platforms\android-19\data\res\drawable-hdpi里。
(3)为了方便在命令行方式下使用adb命令,一般应将文件夹platform-tools的路径添加到系统环境变量path里。
2.Android API核心包
标准的 Android API 包含在许多软件包里,而这些软件包又包含在文件 android.jar里。下面介绍Android开发中常用的软件包。
● android.util:包含一些辅助类,如时间、日期的操作。
● android.text:包含文本处理类。
● android.text.method:提供为各种控件输入文本的类。
● android.os:提供基本的操作服务、消息传递和进程间通信,提供了 Binder、Handler、FileObserver、Looper和PowerManager等类。
● android.app:实现Android的应用程序模型,主要包含Activity和Service组件,另外还有对话框和通知等重要类。
● android.view:提供基础的用户界面接口框架,是 Android 的核心框架,包含类Menu、View、ViewGroup及一系列监听器和回调函数。
● android.widget:包含在应用程序屏幕中使用的各种UI元素,通常派生自View类,包括TextView、EditText、ImageView、ListView和 Button等控件。
● android.webkit:默认浏览器操作接口,包含表示 Web 浏览器的类,主要有WebView、CacheManager和CookieManager。
● android.content:包含ContentProvider组件,还有Context和Intent等重要类。
● android.content.pm:实现与包管理器相关的类。包管理器包含各种权限、安装包、安装程序、安装服务、安装组件(如Activity)和安装应用程序。
● android.content.res:用于访问结构化和非结构化资源文件。主要的类包括AssetManager(用于结构化资源)和Resources。
● android.database:实现抽象数据库的理念,提供了Cursor接口。
● android.database.sqlite:将SQLite用于物理数据库,主要包括SQLiteOpenHelpert、SQLiteDatabase等类。
● android.provider:提供一些类,访问 Android 的 ContentProvider,如 Contacts、MediaStore、Browser和Settings等。
● android.media:提供一些类,管理多种音频、视频的媒体接口,包含MediaPlayer、MediaRecorder、Ringtone、AudioManager和FaceDetector。
● android.hardware:实现与物理照相机相关的类。android.graphics.Camera 表示一种图形概念,与物理照相机完全无关。
● android.bluetooth:提供一些类来处理蓝牙功能。主要的类包括BluetoothAdapter、BluetoothDevice、BluetoothSocket、BluetoothServerSocket和BluetoothClass。
● android.net:提供帮助网络访问的类,实现基本的套接字级网络API。
● android.net.wifi:管理WiFi连接。
● android.telephony:提供手机设备的通话接口,包含类CellLocation、PhoneNumberUtils和TelephonyManager。
● android.telephony.gsm:可用于根据基站收集手机位置,还包含负责处理SMS消息的类。
● android.location:定位相关类。
● com.google.android.maps:包含类MapView等 Google地图所需类。
● android.gesture:包含处理用户定义的手势所需的所有类和接口。
● android.graphics:底层的图形库,包含画布、颜色过滤、点、矩形等。
● android.graphics.drawable:实现绘制协议和背景图像,支持可绘制对象动画。
● android.graphics.drawable.shapes:实现各种形状。
● android.view.animation:提供对补间动画的支持。
● android.opengl:提供OpenGL的工具,可3D加速。









